1fc3006865d2d64974750fc449496f7ca9569834,ais-ab-analyzer/src/test/java/dk/dma/ais/abnormal/analyzer/analysis/SuddenSpeedChangeAnalysisTest.java,SuddenSpeedChangeAnalysisTest,eventIsRaisedForSuddenSpeedChangeSpanningSeveralMessages,#,166
Before Change
/* Grounding of 314234000 on Jul 03 2009 - 20:44:18 - 20:45:18 */
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 13.9f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 13.3f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 11.7f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 8.3f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 5.0f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 1.9f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
for (int i=0; i<6; i++) { // Sustain low speed
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 0.0f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
}
track.update(Analysis.toEpochMillis(track.getTimeOfLastPositionReport()) + deltaSecs * 1000, Position.create(56, 12), 45.0f, 0.2f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
oneOf(eventRepository).save(with(eventCaptor.getMatcher()));
After Change
/* Grounding of 314234000 on Jul 03 2009 - 20:44:18 - 20:45:18 */
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 13.9f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 13.3f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 11.7f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 8.3f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 5.0f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 1.9f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
for (int i=0; i<6; i++) { // Sustain low speed
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 0.0f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
never(eventRepository).save(with(eventCaptor.getMatcher()));
}});
analysis.onSpeedOverGroundUpdated(new PositionChangedEvent(track, null));
context.assertIsSatisfied();
}
track.update(track.getTimeOfLastPositionReport() + deltaSecs * 1000, Position.create(56, 12), 45.0f, 0.2f, 45.0f);
context.checking(new Expectations() {{
ignoring(eventRepository).findOngoingEventByVessel(219000606, SuddenSpeedChangeEvent.class);
oneOf(eventRepository).save(with(eventCaptor.getMatcher()));